//删除 获取的username
// $("#clear").click(function(){
//     localStorage.clear();
// })

// 出登录后让浏览器后退按钮 返回按钮也是登陆页面
function refresh(){
    url = "../login.html";
    if(url.indexOf("#") == -1){
        self.location.replace(url);
    }
}
function logout(){
    $.ajax({
        url:'/user/loginOut',
        data:{},
        dataType: 'json',
        success:function (res){
            alert(res.msg);
            // window.location.href="../login.html"
            refresh();
        }
    })
}



var active=null;
var menuCell = 5;
layui.use('element', function () {
    var element = layui.element;
    var $ = layui.jquery;
    //获取所有的菜单
    $.ajax({
        type: "post",
        url: "/aa",
        dataType: "json",
        success: function (data) {
            // console.log(data);
            // console.log(data.dh);
            var liStr = "";
            // 遍历生成主菜单
            for (var i = 0; i < data.length; i++) {
                // console.log("--> "+JSON.stringify(data[i]));
                // console.log("--> " + JSON.stringify(data[i].childMenus));
                // 判断是否存在子菜单
                if (data[i].childMenus != null && data[i].childMenus.length > 0) {
                    liStr += "<li class=\"layui-nav-item\"><a class=\"\" href=\"javascript:;\" data-src=\"" + data[i].url + "\" data-menuid=\"" + data[i].menuId + "\" data-title=\"" + data[i].name + "\">" + data[i].name + "</a>\n" +
                        "<dl class=\"layui-nav-child\">\n";
                    // 遍历获取子菜单
                    for (var k = 0; k < data[i].childMenus.length; k++) {
                        liStr += getChildMenu(data[i].childMenus[k], 0);
                    }
                    liStr += "</dl></li>";
                } else {
                    liStr += "<li class=\"layui-nav-item\"><a class=\"site-demo-active\" data-src=\"" + data[i].url + "\" data-menuid=\"" + data[i].menuId + "\" data-title=\"" + data[i].name + "\">" + data[i].name + "</a></li>";
                }
            };
            $("#navBarId").html("<ul class=\"layui-nav layui-nav-tree\"  lay-filter=\"test\">\n" + liStr + "</ul>");
            // element.init();
            xuanran();
            // 渲染之后拿到dom
            // setTimeout(() => {
            //     var curNavActiveItem = $('#navBarId ul[lay-filter="test"] li.layui-nav-item a').eq(0)
            //     curNavActiveItem[0].click()
            // }, 0)
            setTimeout(() => {
                var curNavActiveItem = $('#navBarId ul[lay-filter="test"] li.layui-nav-item dl dd a').eq(0)
                curNavActiveItem[0].click();
            }, 0)
        },
        error: function (jqXHR) {
            //  layer aler("发生错误：" + jqXHR.status);
        }
    });
    //
    element.on('tab(demo)', function(data){
        var layId = $(this).attr('lay-id');
        var title=$(this).text();
        // console.log(1);
        // console.log(title);
        // console.log(layId);
        // 将选中的选项卡的layId赋值给iframe的src
        // document.getElementById("main_self_frame").src=layId;
        // $(".layui-nav-tree .layui-nav-item .layui-nav-child dd a[data-menuid='layId']").addClass("layui-nav-itemed");
        var menuDd = $(".layui-nav-tree .layui-nav-item .layui-nav-child dd");
        var menuDd1 = $(".layui-nav-tree .layui-nav-item");
        // console.log(menuDd);
        // var menuDd1 = $(".layui-nav-tree .layui-nav-item layui-this");
        $.each($(".site-demo-active"), function () {
            //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
            var id = $(this).attr("data-menuid");
            // console.log(id);
            // if(id==1){
            //     menuDd1.addClass("layui-this");
            // }
            if (layId == id) {
                if(menuDd.find("a[data-menuid='"+layId+"']").length <= 0) {
                    menuDd.find("a[data-menuid !='"+layId+"']").parent().removeClass("layui-this");
                    // menuDd1.find("a[data-menuid !='"+layId+"']").parents().removeClass("layui-this");
                    menuDd.find("a[data-menuid !='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
                    menuDd.find("a[data-menuid !='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
                    // menuDd1.find("a[data-menuid !='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
                    // menuDd1.find("a[data-menuid !='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
                }
                menuDd1.find("a[data-menuid !='"+layId+"']").parents().removeClass("layui-this");
                // 先移除原来菜单和选项卡选项的效果，不然会叠加选中，之后再具体选中具体东西
                menuDd.removeClass("layui-this");
                // menuDd1.removeClass("layui-this");
                menuDd.find("a[data-menuid='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
                menuDd.find("a[data-menuid='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
                menuDd.find("a[data-menuid='"+layId+"']").parents("dl").addClass("layui-nav-itemed");
                menuDd.find("a[data-menuid='"+layId+"']").parents("li").addClass("layui-nav-itemed");
                menuDd.find("a[data-menuid='"+layId+"']").parent().addClass("layui-this");
                // 找到选项卡对应左侧的菜单就中断遍历
                return false;
            } else {
                // menuDd.find("a[data-menuid !='"+layId+"']").parent().removeClass("layui-this");
                // menuDd1.find("a[data-menuid !='"+layId+"']").parent().removeClass("layui-this");
                // menuDd.find("a[data-menuid !='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
                // menuDd.find("a[data-menuid !='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
                // return true;
            }
        });
        // var menuDd1 = $(".layui-nav-tree .layui-nav-item .layui-nav-child dd dl dd");
        //
        // // var menuDd1 = $(".layui-nav-tree .layui-nav-item layui-this");
        // $.each($(".site-demo-active"), function () {
        //     //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
        //     var id = $(this).attr("data-menuid");
        //     // console.log(id);
        //     if (layId == id) {
        //         if(menuDd1.find("a[data-menuid='"+layId+"']").length <= 0) {
        //             menuDd1.find("a[data-menuid !='"+layId+"']").parent().removeClass("layui-this");
        //             menuDd1.find("a[data-menuid !='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
        //             menuDd1.find("a[data-menuid !='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
        //         }
        //         // 先移除原来菜单和选项卡选项的效果，不然会叠加选中，之后再具体选中具体东西
        //         menuDd1.removeClass("layui-this");
        //         // menuDd1.removeClass("layui-this");
        //         menuDd1.find("a[data-menuid='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
        //         menuDd1.find("a[data-menuid='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
        //         menuDd1.find("a[data-menuid='"+layId+"']").parents("dl").addClass("layui-nav-itemed");
        //         menuDd1.find("a[data-menuid='"+layId+"']").parents("li").addClass("layui-nav-itemed");
        //         menuDd1.find("a[data-menuid='"+layId+"']").parent().addClass("layui-this");
        //         // 找到选项卡对应左侧的菜单就中断遍历
        //         return false;
        //     } else {
        //         menuDd1.find("a[data-menuid !='"+layId+"']").parent().removeClass("layui-this");
        //         menuDd1.find("a[data-menuid !='"+layId+"']").parents("dl").removeClass("layui-nav-itemed");
        //         menuDd1.find("a[data-menuid !='"+layId+"']").parents("li").removeClass("layui-nav-itemed");
        //         return true;
        //     }
        // });
    });
});
$(function() {
    $.ajax({
        url: "/username",
        type: "POST",
        dataType: "json",
        success: function(res) {
            $("#con").text(res.data);
        }
    });
})
layui.use('element', function () {
    var element = layui.element;
    var $ = layui.jquery;
    // $('ul.layui-nav li.layui-nav-item.is-menu-icon').hover(function() {
    // $("#aaa").css("display","none");
    // layer.open({
    //     type:1,
    //     title: '在线调试'
    //     ,content: "#aaa"
    // });
    // layer.open({
    //     type: 2,
    //     title: '添加活动',
    //     content: 'exerciseadd.html',
    //     area: ['80%', '80%']
    // })
    // })
});
// 递归生成子菜单
function getChildMenu(subMenu, num) {
    // console.log("num: " + num);
    num++;
    var subStr = "";
    if (subMenu.childMenus != null && subMenu.childMenus.length > 0) {
        subStr += "<dd><ul><li class=\"layui-nav-item\" ><a style=\"margin-Left:" + num * menuCell + "px\" class href=\"javascript:;\" data-src=\"" + subMenu.url + "\" data-menuid=\"" + subMenu.menuId + "\" data-title=\"" + subMenu.name + "\">" + subMenu.name + "</a>" +
            "<dl class=\"layui-nav-child\">\n";
        // xuanran();
        for (var j = 0; j < subMenu.childMenus.length; j++) {
            subStr += getChildMenu(subMenu.childMenus[j], num);
            // xuanran();
        }
        subStr += "</dl></li></ul></dd>";
        // xuanran();
    } else {
        subStr += "<dd><a style=\"margin-Left:" + num * menuCell + "px\" class=\"site-demo-active\" data-src=\"" + subMenu.url + "\" data-menuid=\"" + subMenu.menuId + "\" data-title=\"" + subMenu.name + "\">" + subMenu.name + "</a></dd>";
        // xuanran();
    }
    return subStr;
    // xuanran();
}
// 上tab
function xuanran() {
    layui.use(['element', 'layer'], function () {
        var element = layui.element;
        layer = layui.layer;

        var layFilter = $("#navBarId").attr('lay-filter');
        element.render('nav', layFilter);
        active = {

            //在这里给active绑定几项事件，后面可通过active调用这些事件
            tabAdd: function (url, id, title) {
                //新增一个Tab项 传入三个参数，分别对应其标题，tab页面的地址，还有一个规定的id，是标签中data-id的属性值
                // var body_url = "pages/" + url + ".html";
                var body_url = url;
                // console.log("要切换的页面地址=" + body_url);
                element.tabAdd('demo', {
                    title: title,
                    content: '<iframe data-frameid="' + id + '" scrolling="auto" frameborder="0" src="' + body_url + '"></iframe>',
                    id: id //规定好的id
                })
                $(".layui-tab-title li[lay-id="+id+"]").mouseover(function(){
                    var tabId = $(this).attr("lay-id");
                    CustomRightClick(tabId);
                });
                FrameWH();  //计算ifram层的大小

            },
            tabChange: function (id) {
                //切换到指定Tab项

                element.tabChange('demo', id); //根据传入的id传入到指定的tab项

            },
            tabDelete: function (id) {
                element.tabDelete("demo", id);//删除
            },
            tabRefresh: function (id) {//刷新页面
                $("iframe[data-menuid='"+id+"']").attr("src",$("iframe[data-menuid='"+id+"']").attr("src"))//刷新框架
            }
            // tabDelete: function (id) {
            //     element.tabDelete('home-tabs', id);//删除
            // },
        };
        // //当点击有site-demo-active属性的标签时，即左侧菜单栏中内容 ，触发点击事件
        $('.site-demo-active').click(function () {
            var dataid = $(this);
            if (dataid.children().length <= 1) {
                if ($(".layui-tab-title li[lay-id]").length <= 0) {
                    //如果比零小，则直接打开新的tab项
                    // console.log("没有tab页，新建tab页");
                    // console.log(dataid.attr("data-src"))
                    active.tabAdd(dataid.attr("data-src"), dataid.attr("data-menuId"), dataid.attr("data-title"));
                } else {
                    //否则判断该tab项是否以及存在
                    var isData = false; //初始化一个标志，为false说明未打开该tab项 为true则说明已有
                    $.each($(".layui-tab-title li[lay-id]"), function () {
                        //如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开
                        if ($(this).attr("lay-id") == dataid.attr("data-menuId")) {
                            // console.log("如果点击左侧菜单栏所传入的id 在右侧tab项中的lay-id属性可以找到，则说明该tab项已经打开");
                            isData = true;
                        }
                    })
                    if (isData == false) {
                        //标志为false 新增一个tab项
                        // console.log("新增一个tab项")
                        active.tabAdd(dataid.attr("data-src"), dataid.attr("data-menuId"), dataid.attr("data-title"));
                    }
                }
                //最后不管是否新增tab，最后都转到要打开的选项页面上
                active.tabChange(dataid.attr("data-menuId"));
            }

        });
        //鼠标右键单击事件菜单功能
        $(".rightmenu li").click(function () {
            console.log(11111111111111111111111111111);
            //当前的tabId
            var currentTabId = $(this).attr("data-id");
            if ($(this).attr("data-type") == "closeOthers") {//关闭其他
                console.log(111111111111111111111111111111111);
                var tabtitle = $(".layui-tab-title li");
                $.each(tabtitle, function (i) {
                    if($(this).attr("lay-id")!=currentTabId){
                        active.tabDelete($(this).attr("lay-id"))
                        // element.tabDelete("demo", id);
                        // active.tabDelete("layid");
                    }
                })
            } else if ($(this).attr("data-type") == "closeAll") {//关闭全部
                var tabtitle = $(".layui-tab-title li");
                $.each(tabtitle, function (i) {
                    if($(this).attr("lay-id")!=24){
                        active.tabDelete($(this).attr("lay-id"))
                    }

                })

            }else if ($(this).attr("data-type") == "refresh") {//刷新页面
                active.tabRefresh($(this).attr("data-id"));

            }else if ($(this).attr("data-type") == "closeRight") {//关闭右边所有
                //找到当前聚焦的li之后的所有li标签 然后遍历
                var tabtitle = $(".layui-tab-title li[lay-id="+currentTabId+"]~li");
                $.each(tabtitle, function (i) {
                    active.tabDelete($(this).attr("lay-id"))
                })
            }
            $('.rightmenu').hide();
        });

        $('#ddl li a').on("click",function (){
            var id = $(this).attr("data-menuid");
            var attr = $(this).attr("data-title");
            var srcc = $(this).attr("data-src");
            console.log(id+"     "+attr+"    " +srcc);
            var nav = $(".layui-tab-title li[lay-id]");
            var isData = true;
            $.each(nav,function (){
                var attr2 = $(this).attr("lay-id");
                if(attr2 == id){
                    isData = false;
                }
            })
            if(isData){
                active.tabChange(id);
                active.tabAdd(srcc,id,attr);
                element.tabChange('demo',id);
            }else{
                element.tabChange('demo',id);
            }
        });
        edc = function(id,attr,srcc){
            var nav = $(".layui-tab-title li[lay-id]");
            var isData = true;
            $.each(nav,function (){
                var attr2 = $(this).attr("lay-id");
                if(attr2 == id){
                    isData = false;
                }
            })
            if(isData){
                active.tabChange(id);
                active.tabAdd(srcc,id,attr);
                element.tabChange('demo',id);
            }else{
                element.tabChange('demo',id);
            }
        }


    })
    // console.log("==列表添加完后再次执行渲染");

}


/*
* @todo 重新计算iframe高度
*/
function FrameWH() {
    var h = $(window).height()-100;
    //console.log("高度问题=="+h);
    $("iframe").css("height", h + "px");
    var w = $(window).width()-202;
    //console.log("高度问题=="+h);
    $("iframe").css("width", w + "px");
}
//鼠标右击事件
function CustomRightClick(id) {
    // 阻止浏览器鼠标右键单击事件
    $('.layui-tab-title li').on('contextmenu', function () { return false; })
    //单击取消右键菜单
    $('body').click(function () {
        $('.rightmenu').hide();
    });

    //tab点击右键
    $('.layui-tab-title li').on('contextmenu', function (e) {
        var popupmenu = $(".rightmenu");
        popupmenu.find("li").attr("data-id",id);
        l = ($(document).width() - e.clientX) < popupmenu.width() ? (e.clientX - popupmenu.width()) : e.clientX;
        t = ($(document).height() - e.clientY) < popupmenu.height() ? (e.clientY - popupmenu.height()) : e.clientY;
        console.log(l);
        console.log(t);
        popupmenu.css({ left: l-180, top: t-50 }).show();
        return false;
    });
}

